###############################################################################
# Globals #####################################################################
###############################################################################

__version__ = '0.0.1'
__date__ = 'Date: 2011/01/11'
__author__ = 'Bart Robinson <bartrobinson76@yahoo.com>'
__doc__ = '''
Edge class for connecting two points.
'''
__all__ = ['edge']

###############################################################################
# Imports #####################################################################
###############################################################################

from pycgx.geometry.point2d import point2d
from pycgx.geometry.point3d import point3d

###############################################################################
# Classes and Methods #########################################################
###############################################################################

class edge:
	'''
	edge()
	edge([point, point])
	'''
	
	def __init__(self, points = [point3d(), point3d()]):
		self.pointlist = points
		
	def __call__(self, points = None):
		if points != None:
			self.pointlist = points
		else:
			return self.pointlist
	
	def __str__(self):
		return self.pointlist
	
	def points(self, points = None):
		if points != None:
			self.pointlist = points
		else:
			return self.pointlist
	
	def length(self):
		vectorDifference = self.pointlist[0] - self.pointlist[1]
		return vectorDifference.magnitude()